package entity;

import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.DiscriminatorColumn;
import javax.persistence.DiscriminatorType;
import javax.persistence.Entity;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table(name="cuenta")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="tipo",discriminatorType=DiscriminatorType.STRING)
public class Cuenta extends PersistenObjec {
	
	private float saldo;
	

	@ManyToOne(cascade=CascadeType.ALL)
	private Usuario usuario;
	
	@OneToMany(cascade = CascadeType.ALL )
	@JoinColumn(name="cuenta") 
	private Set<Transaccion> movimientos;
	
	public Cuenta() {}
	
	public Cuenta(int id,float saldo, Usuario usuario, Set<Transaccion> movimientos) {
		super(id);
		this.saldo = saldo;
		this.usuario = usuario;
		this.movimientos = movimientos;
	}

	public float getSaldo() {
		return saldo;
	}
	public void setSaldo(float saldo) {
		this.saldo = saldo;
	}
	public Usuario getUsuario() {
		return usuario;
	}
	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}
	public Set<Transaccion> getMovimientos() {
		return movimientos;
	}
	public void setMovimientos(Set<Transaccion> movimientos) {
		this.movimientos = movimientos;
	}

}
